Cloud computing involves the use of hardware and software resources to provide services over a network. In many cloud computing models, the responsibility of providing and maintaining the hardware and software infrastructure falls on the cloud service provider. By shifting these responsibilities to the cloud service provider, organizations and other consumers may quickly access complex systems and applications without incurring the upfront costs of acquiring the supporting infrastructure. Another benefit of cloud computing is that resources may be shared by multiple tenants, which improves scalability and reduces the costs of the underlying infrastructure.
Cloud provisioning refers to the allocation of cloud computing resources to tenants. Cloud service providers may perform provisioning operations to allocate resources for new tenants of a cloud service, reallocate resources for current tenants, and/or deallocate resources for previous tenants. Cloud resources may be allocated/deallocated in real-time to support tenant requests on an as-needed basis and/or may be allocated based on a pre-defined amount prior to a tenant accessing a cloud service.
Cloud provisioning operations are often defined through complex programs written by cloud administrators. Creating provisioning applications may be a difficult and error-prone process. Inefficient provisioning may have significant consequences to the tenant and/or providers of a cloud service. For example, allocating too few resources to a tenant may lead to resource overload, causing performance degradation. Conversely, allocating too many resources may lead to waste, decreasing the number of tenants that are able to share a resource and increasing costs.
The approaches described in this section are approaches that could be pursued, but not necessarily approaches that have been previously conceived or pursued. Therefore, unless otherwise indicated, it should not be assumed that any of the approaches described in this section qualify as prior art merely by virtue of their inclusion in this section.